package com.example.cscot;

import java.util.Timer;
import java.util.TimerTask;

// 启动一个固定ms间隔调用一次的定时器函数
public class LewayTimer {
     private final Timer mTimer;
     private final boolean mOneOff;
     // 自启动啊
     public LewayTimer(int msCycle, RtCallback cb, boolean oneOff) {
         // 创建一个Timer对象
         mTimer = new Timer();
         mOneOff = oneOff;
         // 创建一个TimerTask匿名类，定义要执行的任务
         TimerTask task = new TimerTask() {
             @Override public void run() {
                 // 利用系统函数时间戳单位毫秒
                 cb.onRightTime(String.valueOf(System.currentTimeMillis()));
                 if (mOneOff) {
                    mTimer.cancel();
                 }
             }
         };
         // 定时任务，每隔msCycle毫秒执行一次，第一次总是要等的
         mTimer.schedule(task, msCycle, msCycle);
     }
     // 无对应的startTimer啊，求简单
     public void stopTimer() {
         if (!mOneOff) {
             mTimer.cancel();
         }
     }
}
